package cn.edu.csmzxy.rk233x.auth_system.entity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @author wumxing
 * @date 2025/10/15 9:47
 * @description  权限实体
 */
@Data
@TableName("sys_permission")
public class SysPermission {
    @TableId(type = IdType.AUTO)
    private Long id;
    private String name;  // 权限名称（如“用户列表”）
    private String code;  // 权限编码（如“user:list”）
    private Integer type;  // 类型（1-菜单，2-按钮）
    private String url;  // 访问路径（菜单有效）
    private Long parentId;  // 父权限ID（0为顶级）
    private String icon;  // 菜单图标
    private Integer sort;  // 排序号
    @TableLogic
    private Integer isDeleted;
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
    // 非数据库字段，用于构建树形结构
    @TableField(exist = false)
    private List<SysPermission> children;
}